import request from '@/config/axios'

// CRM 运营信息 VO
export interface OperationVO {
  id: number // 编号
  customerId: number // 客户id
  customerName?: string
  date: Date // 填报日期
  operationManager: number // 运营经理
  operationManagerName: number // 运营经理名称
  businessStatus: number // 营业状态
  industryCategory: number // 行业类别
  mortgageEquipmentSituation: number // 设备抵押情况
  equipmentMortgageValuation: number // 设备抵押估值
  personalGuaranteeSituation: number // 个人担保情况
  otherSituations: string // 其他经营概况描述
  rent: number // 租金配套欠费
  supplyChain: number // 供应链欠费
  allFee: number // 园区总欠费
  backPayAmount: number // 欠薪金额
  loan: number // 银行贷款
  otherDebts: number // 其它社会债务
  allDebt: number // 总负债估算（万元）
  outputAmount: number // 产值
  paymentCycle: number // 主要客户货款回笼周期
  totalEmp: number // 现有员工人数
  shortageEmp: number // 缺工人数
  isLayoffPlan: boolean // 是否有集体裁员计划
  layoffs: number // 裁员人数
  isSalaryReductionPlan: boolean // 是否有降薪计划
  salaryReductionRange: number // 降薪幅度（百分比）
  isBackPay: boolean // 是否欠薪
  backPayDuration: number // 欠薪月数
  backPay: number // 欠薪人数
  exportOrderRate: number // 出口订单占比
  domesticOrderRate: number // 内销订单占比
  capacityRate: number // 产能利用率
  monthlyOrderSaturationRate: number // 当月订单饱和度
  workingDays: number // 开工天数
  workingHours: number // 开工时数
  auditStatus: number // 审核状态
  processInstanceId?: string // 审核流程实例编号
}

// CRM 运营信息 API
export const OperationApi = {
  // 查询CRM 运营信息分页
  getOperationPage: async (data: any) => {
    return await request.post({ url: `/crm/operation/page`, data })
  },

  // 查询CRM 运营信息详情
  getOperation: async (id: number) => {
    return await request.get({ url: `/crm/operation/get?id=` + id })
  },

  // 新增CRM 运营信息
  createOperation: async (data: OperationVO) => {
    return await request.post({ url: `/crm/operation/create`, data })
  },

  // 修改CRM 运营信息
  updateOperation: async (data: OperationVO) => {
    return await request.put({ url: `/crm/operation/update`, data })
  },

  // 客户运营信息审核
  submit: async (ids: number[],isReCreate: boolean) => {
    return await request.put({ url: `/crm/operation/submit`,params: { ids: ids.join(',') ,isReCreate: isReCreate }} )
  },

  // 删除CRM 运营信息
  deleteOperation: async (id: number) => {
    return await request.delete({ url: `/crm/operation/delete?id=` + id })
  },

  // 导出CRM 运营信息 Excel
  exportOperation: async (data) => {
    return await request.postDownload({ url: `/crm/operation/export-excel`, data })
  },

// ==================== 子表（CRM 运营信息-负债情况） ====================

  // 获得CRM 运营信息-负债情况列表
  getOperationDebtListByOperationId: async (operationId) => {
    return await request.get({ url: `/crm/operation/operation-debt/list-by-operation-id?operationId=` + operationId })
  },

// ==================== 子表（CRM 运营信息-用工情况） ====================

  // 获得CRM 运营信息-用工情况列表
  getOperationEmploymentListByOperationId: async (operationId) => {
    return await request.get({ url: `/crm/operation/operation-employment/list-by-operation-id?operationId=` + operationId })
  },

// ==================== 子表（CRM 运营信息-订单与开工情况） ====================

  // 获得CRM 运营信息-订单与开工情况列表
  getOperationOrderListByOperationId: async (operationId) => {
    return await request.get({ url: `/crm/operation/operation-order/list-by-operation-id?operationId=` + operationId })
  },
}
